1 \newcommand{\cosito}[0]{\textcolor{Orange
}{\huge$
\cdot$
}}
2 \section{4289 - Disgruntled Judge
}
4 Dada una sucesión de números $x_1, x_3, ... , x_
{2t-
1}$, encontrar $x_2, x_4, ... , x_
{2t
}$, tal que:
5 $$
\exists a, b
\in \mathds{Z
},
0 \leq a,b
\leq 10000,
\forall 0 \leq i
\leq 2t-
1, x_
{i+
1} = a* x_
{i
} + b
\mod 10001$$
7 \subsection{Resolución
}
8 Para resolver el problema primero notamos que $
10001 =
73*
137$, lo cual puede ser útil para aplicar el teorema chino del resto.
9 Llamaremos $I_
{i
} = x_
{2i-
1}$ y $O_
{i
} = x_
{2i
}$. Notemos que como el enunciado nos dice que $
0 \leq x_
{i
} \leq 10000$, resulta que los $x_
{i
}$ son restos de la división módulo
10001. Esto resulta importante porque nos permite trabajar con congruencia en vez de igualdad.
11 Si el
\textit{input
} es sólo $I_1$, alcanza con tomar $O_1=I_1$, pues se puede tomar $a=
0, b=I_1$. Análogamente, si el
\textit{input
} es sólo $I_1, I_2$, alcanza con tomar $O_k = I_2$, pues se puede usar $a=
0, b = I_2$.
13 Si la cantidad de
\textit{inputs
} ($n$) es mayor, hay que plantearlo de otra forma.
15 Consideremos un caso tal que la cantidad de
\textit{inputs
} es mayor o igual a
3. Observando las ecuaciones de generación de los $x_i$ vemos que:
17 $$a*I_1 + b
\equiv O_1
\mod 10001$$
18 $$a*
0_1 + b
\equiv I_2
\mod 10001$$
19 $$a*I_2 + b
\equiv O_2
\mod 10001$$
20 $$a*O_2 + b
\equiv I_3
\mod 10001$$
22 De aquí podemos obtener:
24 $$a^
2*I_1 + a*b + b
\equiv I_2
\mod 10001$$
25 $$a^
2*I_2 + a*b + b
\equiv I_3
\mod 10001$$
29 $$a^
2*(I_1 - I_2)
\equiv (I_2 - I_3)
\mod 10001$$
31 Resolviendo esta ecuación podemos obtener candidatos para $a^
2$, y de estos candidatos podemos obtener posibles valores para $a$.
33 Notemos que si $(I_1 - I_2)
\equiv 0 \mod 10001$, resulta que $I_1 = I_2$, ya que $
0 \leq I_1,I_2
\leq 10001$.
%TODO: lo explico mas esto?
34 En ese caso, alcanza con devolver $O_k=I_2$
36 Usando teorema chino del resto, obtenemos que:
37 $$a^
2*(I_1 - I_2)
\equiv (I_2 - I_3)
\mod 137$$
38 $$a^
2*(I_1 - I_2)
\equiv (I_2 - I_3)
\mod 73$$
40 Supongamos que $(I_1 - I_2)
\not\equiv 0 \mod 137 \wedge (I_1 - I_2)
\not\equiv 0 \mod 73$
41 Entonces, como ambos módulos son primos, existen $k_
{73}, k_
{137}$ inversos multiplicativos de $(I_1 - I_2)$ módulo
73 y
137 respectivamente, tales que:
42 $$a^
2 \equiv (I_2 - I_3)*k_
{137} \mod 137$$
43 $$a^
2 \equiv (I_2 - I_3)*k_
{73} \mod 73$$
45 Para encontrar los $k$ se busca expresar a
1 como combinación lineal entre $(I_1 - I_2)$ y
137 o
73 según corresponda, lo cual es posible, ya que estamos suponiendo que $(I_1 - I_2)$ es coprimo con
137 y con
73.
47 Luego buscamos $a$ tales que $a^
2$ cumpla esas ecuaciones. Si $(I_1 - I_2)
\equiv 0 \mod 137 \vee (I_1 - I_2)
\equiv 0 \mod 73$ (es un ``o'' exclusivo, porque estamos considerando que no $(I_1 - I_2)$ no era múltiplo de $
10001$), perdemos una de las ecuaciones, pero igual obtenemos posibles candidatos para $a^
2$.
49 Una vez que obtenemos un candidato para $a$, vemos si es viable. Para esto debe ser posible encontrar $b$ tal que:
50 $$a^
2*I_1 + a*b + b
\equiv I_2
\mod 10001$$
51 Escrito de otra forma:
52 $$(a+
1)*b
\equiv I_2 - a^
2*I_1
\mod 10001$$
54 Un caso donde podría no existir ningún $b$ que cumpla esta ecuación es si $(a+
1)
\equiv 0 \mod 10001$, pero el lado derecho de la ecuación no es equivalente a
0. Usando teorema chino del resto, se obtienen dos ecuaciones módulo
173 y
73, que permiten obtener un $b$ candidato.
55 En verdad no puede ser que $(a+
1)
\equiv 0 \mod 10001$, porque entonces resulta que $a^
2 \equiv 1 \mod 10001$ y de $(a+
1)*b
\equiv I_2 - a^
2*I_1
\mod 10001$ sale que $I_1
\equiv I_2
\mod 10001$, pero ese caso yo lo habíamos considerado antes por separado.
56 Sin embargo, si puede ocurrir que $(a+
1)
\equiv 0 \mod 73$ o $(a+
1)
\equiv 0 \mod 137$ y que no valga que el lado derecho también sea congruente a
0, por lo cual hay que chequear esas condiciones.
58 Dado un valor de $k
\neq 0$, existen a lo sumo dos $a$ distintos que cumplen:
59 $a
\leq 0 \leq 73 \wedge a^
2 \equiv k
\mod 73$. En particular, existen o bien
2 $a$ que cumplen eso, o ninguno. El caso donde no existe ninguno no lo consideramos, ya que por enunciado sabemos que debe existir alguno. Si en vez de considerar el intervalo $
[0,
73]$ consideramos el intervalo $
[0,
\lfloor73/
2\rfloor]$ existe un único $a$. El otro $a$ pertenece a la segunda mitad del intervalo y tiene la forma $a'=
73-a$.
60 Algo similar ocurre para $
137$.
62 Podemos entonces tener dos arreglos, uno para cada factor primo, tales que, por ejemplo, $A_
{73}[i
] = k / k^
2 \equiv i
\mod 73 \wedge 0 < k <
73$, o $
0$ si no existe tal $k$.
64 En el caso en el que ninguna de las ecuaciones para $a^
2$ se anula, usando lo visto antes, tenemos
4 posibles candidatos para $a$ (la combinación mediante teorema chino del resto de las dos soluciones módulo
73 y
137). Lo que hacemos entonces es probar alguno de esos que respete los
\textit{inputs
}, es decir que para todo $O_k$ en el rango, tiene que valer que $a*O_k+b
\equiv I_
{k+
1} \mod 10001$. Una vez que encontramos uno, imprimimos los $O_k$.
66 Si alguna de las ecuaciones se anula, tenemos muchos más candidatos. Por ejemplo, si se anula la ecuación de $
137$, tenemos dos posibles valores de $a$ que son menores que $
73$. Ahora, todo valor $a'$ que sea menor a $
10001$ y congruente modulo $
73$ a alguno de esos dos es otro posible candidato. Notemos que en este caso hay $
2*
137$ posibles candidatos. Es análogo para cuando la ecuación que se anula es la de $
73$, en este caso hay $
2*
73$ candidatos
69 El siguiente pseudocódigo ilustra la resolución del problema:
72 \caption{Obtención de $a$ y $b$ para el caso en el que $n
\geq 3$
}
73 \PARAMS{$I_1$,$I_2$,$I_3$
}
76 \IF{$q
\equiv 0 \mod 73 \wedge q
\equiv 0 \mod 137$
}
77 \STATE no importa $a$ ni $b$, se puede tomar $O_k = I_3$
80 \IF{$q
\equiv 0 \mod 73$
}
81 \STATE $a^
2_
{73} = w*q^
{-
1}_
{73} \mod 73$
\COMMENT{ $q^
{-
1}_
{73}$ es el inverso multiplicativo de $q
\mod 73$
}
82 \STATE obtener $a$ tal que $
0 \leq a
\leq \lfloor73/
2\rfloor \wedge a^
2 \equiv a^
2_
{73} \mod 73$
84 \WHILE{no encontré solución
}
85 \IF{ es posible encontrar un $b$ para ese $a$, y $a,b$ respetan los inputs
}
86 \STATE esos son los que buscábamos
88 \ELSIF{ es posible encontrar un $b$ para $a'$ y $a',b$ respetan los inputs
}
89 \STATE esos son los que buscábamos
96 \ELSIF{$q
\equiv 0 \mod 137$
}
97 \STATE realizar el mismo proceso que para
73 pero módulo
137
99 \STATE $a^
2_
{73} = w*q^
{-
1}_
{73} \mod 73$
100 \STATE obtener $k$ tal que $
0 \leq k
\leq \lfloor73/
2\rfloor \wedge k^
2 \equiv a^
2_
{73} \mod 73$
101 \STATE $a^
2_
{137} = w*q^
{-
1}_
{137} \mod 137$
102 \STATE obtener $j$ tal que $
0 \leq j
\lfloor\leq 137/
2\rfloor \wedge j^
2 \equiv a^
2_
{73} \mod 73$
103 \STATE considerar los siguientes candidatos:
\COMMENT{se obtienen gracias al teorema chino
}
104 \STATE \cosito $k*
137*
137^
{-
1}_
{73} + j*
73*
73^
{-
1}_
{137} \mod 10001$
105 \STATE \cosito $(
73-k)*
137*
137^
{-
1}_
{73} + j*
73*
73^
{-
1}_
{137} \mod 10001$
106 \STATE \cosito $k*
137*
137^
{-
1}_
{73} + (
137-j)*
73*
73^
{-
1}_
{137} \mod 10001$
107 \STATE \cosito $(
73-k)*
137*
137^
{-
1}_
{73} + (
137-j)*
73*
73^
{-
1}_
{137} \mod 10001$
108 \STATE devolver alguno de los candidatos tal que sea posible encontrar un $b$ para el, y que ambos respeten los $I_i$.
115 \caption{Obtención de $b$ dado un $a$, o fallar si no se puede
}
116 \PARAMS{$a, I_1,I_2$
}
117 \IF{$a+
1 \equiv 0 \mod 73$
}
118 \IF{$y - a^
2*x
\not\equiv 0 \mod 73$
}
119 \STATE \textcolor{Orange
}{Fallar
}
121 \STATE $b = y - a^
2*x * (a+
1)^
{-
1}_
{137} \mod 137$
124 \ELSIF{$a+
1 \equiv 0 \mod 137$
}
125 \IF{$y - a^
2*x
\not\equiv 0 \mod 137$
}
126 \STATE \textcolor{Orange
}{Fallar
}
128 \STATE $b = y - a^
2*x * (a+
1)^
{-
1}_
{73} \mod 73$
132 \STATE $b_
{137} = y - a^
2*x * (a+
1)^
{-
1}_
{137} \mod 137$
133 \STATE $b_
{73} = y - a^
2*x * (a+
1)^
{-
1}_
{73} \mod 73$
134 \STATE $b = b_
{73}*
137*
137^
{-
1}_
{73} + b_
{137}*
73*
73^
{-
1}_
{137} \mod 10001$
140 \subsection{Complejidad
}
141 Con respecto a la complejidad, consideraremos que las operaciones aritméticas cuestan $O(
1)$. Dado $m$, llamamos $
\omega(m)$ a la cantidad de primos que dividen a $m$, es decir $
\sharp\
{ p / p
\mid m
\wedge p
\in \mathds{P
}\
}$. Suponemos que conocemos esos factores primos, pues de lo contrario habría que considerar el costo de factorizar $m$.
143 Para resolver el ejercicio, llenamos $
\omega(m)$ arreglos, que sirven para obtener $a$, sabiendo el resto de $a^
2$ para los distintos factores primos de $m$. Estos arreglos se pueden llenar en $O(m)$.
144 Luego se resuelven $O(
\omega(m))$ ecuaciones, las cuales se pueden resolver en $O(
\log m)$, ya que para hacerlo se necesita obtener los inversos multiplicativos que se pueden conseguir mediante el algoritmo para el $mcd$ como se vio en clase.
146 A partir de esto, obtenemos $O(m)$ posibles candidatos (por ejemplo, si se anulan todas las ecuaciones menos una, la de $p_i$, quedan aproximadamente $O(m/p_i)$ candidatos). Para testear cada candidato, probamos que se cumplan todas las ecuaciones para los $I_i$, entonces si $n$ es la cantidad de inputs, chequeamos $O(n)$ ecuaciones. Por lo tanto, la complejidad de esta parte es $O(m*n)$.
148 Leer la entrada es $O(n)
\subseteq O(m*n)$.
150 Uniendo todo, la complejidad es $O(
\omega(m)*
\log(m) + m*n)$.
152 \subsection{Implementación
}
156 \hlstd{}\hlline{\
1\
}\hldir{\#include\ $<$stdlib.h$>$
}\\
157 \hlline{\
2\
}\hlstd{}\hldir{\#include\ $<$stdlib.h$>$
}\\
158 \hlline{\
3\
}\hlstd{}\hldir{\#include\ $<$stdio.h$>$
}\\
159 \hlline{\
4\
}\hlstd{}\hldir{\#include\ $<$sys/types.h$>$
}\\
160 \hlline{\
5\
}\hlstd{}\hldir{\#include\ $<$sys/stat.h$>$
}\\
161 \hlline{\
6\
}\hlstd{}\hldir{\#include\ $<$fcntl.h$>$
}\\
162 \hlline{\
7\
}\hlstd{}\hldir{\#include\ $<$cassert$>$
}\\
163 \hlline{\
8\
}\hlstd{}\hldir{\#include\ $<$list$>$
}\\
164 \hlline{\
9\
}\hlstd{}\hlkwa{using\ namespace\
}\hlstd{std
}\hlsym{;
}\\
165 \hlline{10\
}\hlstd{}\hldir{\#define\ forn(i,n)\ for(int\ i\ =\
0;\ i\ $<$\ n;\ ++i)
}\\
166 \hlline{11\
}\hlstd{}\hldir{\#define\ forsn(i,s,n)\ for(int\ i\ =\ (s);\ i\ $<$\ (n);\ i++)
}\\
167 \hlline{12\
}\hlstd{}\hldir{\#define\ foreachin(it,s)\ for(
\textunderscore \textunderscore typeof
\textunderscore \textunderscore ((s).begin())\ it\ =\ ((s).begin());\ it\ !=\ ((s).end());\ ++it)
}\\
168 \hlline{13\
}\hlstd{}\\
169 \hlline{14\
}\hldir{\#define\ inverso
\textunderscore de
\textunderscore 73\textunderscore mod
\textunderscore 137\
122}\\
170 \hlline{15\
}\hlstd{}\hldir{\#define\ inverso
\textunderscore de
\textunderscore 137\textunderscore mod
\textunderscore 73\
8}\\
171 \hlline{16\
}\hlstd{}\hldir{\#define\ coef
\textunderscore 137\
1096\
}\hlslc{//\
137{*
}8}\\
172 \hlline{17\
}\hldir{}\hlstd{}\hldir{\#define\ coef
\textunderscore 73\
8906\
}\hlslc{//\
73{*
}122}\\
173 \hlline{18\
}\hldir{}\hlstd{}\\
174 \hlline{19\
}\hlkwb{static\ int\
}\hlstd{cuad73
}\hlsym{{[}}\hlstd{}\hlnum{73}\hlstd{}\hlsym{{]};
}\\
175 \hlline{20\
}\hlstd{}\hlkwb{static\ int\
}\hlstd{cuad137
}\hlsym{{[}}\hlstd{}\hlnum{137}\hlstd{}\hlsym{{]};
}\\
176 \hlline{21\
}\hlstd{}\\
177 \hlline{22\
}\hldir{\#define\ resto(x,y)\ ((((x)\ \%\ (y))\ +\ (y))\ \%\ (y))
}\\
178 \hlline{23\
}\hlstd{}\\
179 \hlline{24\
}\hlslc{//\ si\ (a,b)\ =\
1,\ deja\ en\ x\ el\ inverso\ multiplicativo\ de\ a\ ,mod\ b
}\\
180 \hlline{25\
}\hlstd{}\hlslc{//\ basicamente\ es\ la\ idea\ del\ algoritmo\ de\ euclides,\ pero\ iterativo
}\\
181 \hlline{26\
}\hlstd{}\hlslc{//\ mas\ info:\ www.math.hawaii.edu/$
\sim$lee/discrete/combination.ps
}\\
182 \hlline{27\
}\hlstd{}\hlkwb{void\
}\hlstd{}\hlkwd{combinacion
}\hlstd{}\hlsym{(
}\hlstd{}\hlkwb{int\
}\hlstd{a
}\hlsym{,\
}\hlstd{}\hlkwb{int\
}\hlstd{b
}\hlsym{,\
}\hlstd{}\hlkwb{int
}\hlstd{}\hlsym{\&
}\hlstd{x
}\hlsym{)\ \
{}\\
183 \hlline{28\
}\hlstd{}\hlstd{\ \ \ \
}\hlstd{}\hlkwb{int\
}\hlstd{g0\
}\hlsym{=\
}\hlstd{a
}\hlsym{;
}\\
184 \hlline{29\
}\hlstd{}\hlstd{\ \ \ \
}\hlstd{}\hlkwb{int\
}\hlstd{x0\
}\hlsym{=\
}\hlstd{}\hlnum{1}\hlstd{}\hlsym{;
}\\
185 \hlline{30\
}\hlstd{}\hlslc{//
}\hlstd{\ \ \ \
}\hlslc{int\ y0\ =\
0;
}\\
186 \hlline{31\
}\hlstd{}\hlstd{\ \ \ \
}\hlstd{}\hlkwb{int\
}\hlstd{g1\
}\hlsym{=\
}\hlstd{b
}\hlsym{;
}\\
187 \hlline{32\
}\hlstd{}\hlstd{\ \ \ \
}\hlstd{}\hlkwb{int\
}\hlstd{x1\
}\hlsym{=\
}\hlstd{}\hlnum{0}\hlstd{}\hlsym{;
}\\
188 \hlline{33\
}\hlstd{}\hlslc{//
}\hlstd{\ \ \ \
}\hlslc{int\ y1\ =\
1;
}\\
189 \hlline{34\
}\hlstd{}\hlstd{\ \ \ \
}\hlstd{}\hlkwa{while\
}\hlstd{}\hlsym{(
}\hlstd{g0\
}\hlsym{\%\
}\hlstd{g1\
}\hlsym{!=\
}\hlstd{}\hlnum{0}\hlstd{}\hlsym{)\ \
{}\\
190 \hlline{35\
}\hlstd{}\hlslc{//invariante:\ a
{*
}x
\textunderscore 1+b
{*
}y
\textunderscore 1=g1
}\\
191 \hlline{36\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \
}\hlstd{}\hlkwb{int\
}\hlstd{q\
}\hlsym{=\
}\hlstd{g0\
}\hlsym{/\
}\hlstd{g1
}\hlsym{;
}\\
192 \hlline{37\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \
}\hlstd{}\hlkwb{int\
}\hlstd{temp\
}\hlsym{=\
}\hlstd{g1
}\hlsym{;
}\\
193 \hlline{38\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \
}\hlstd{g1\
}\hlsym{=\
}\hlstd{g0\
}\hlsym{{-
}\
}\hlstd{q\
}\hlsym{{*
}\
}\hlstd{g1
}\hlsym{;
}\\
194 \hlline{39\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \
}\hlstd{g0\
}\hlsym{=\
}\hlstd{temp
}\hlsym{;
}\\
195 \hlline{40\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \
}\hlstd{temp\
}\hlsym{=\
}\hlstd{x1
}\hlsym{;
}\\
196 \hlline{41\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \
}\hlstd{x1\
}\hlsym{=\
}\hlstd{x0\
}\hlsym{{-
}\
}\hlstd{q\
}\hlsym{{*
}\
}\hlstd{x1
}\hlsym{;
}\\
197 \hlline{42\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \
}\hlstd{x0\
}\hlsym{=\
}\hlstd{temp
}\hlsym{;
}\\
198 \hlline{43\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \
}\hlstd{}\hlcom{/
{*
}}\\
199 \hlline{44\
}\hlcom{}\hlstd{\ \ \ \ \ \ \ \ \
}\hlcom{temp\ =\ y1;
}\\
200 \hlline{45\
}\hlcom{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
}\hlcom{y1\ =\ y0\
{-
}\ q\
{*
}\ y1;
}\\
201 \hlline{46\
}\hlcom{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
}\hlcom{y0\ =\ temp;
}\\
202 \hlline{47\
}\hlcom{}\hlstd{\ \ \ \ \ \ \ \
}\hlcom{{*
}/
}\hlstd{\\
203 \hlline{48\
}}\hlstd{\ \ \ \
}\hlstd{}\hlsym{\
}}\\
204 \hlline{49\
}\hlstd{}\hlstd{\ \ \ \
}\hlstd{x
}\hlsym{=
}\hlstd{x1
}\hlsym{;
}\\
205 \hlline{50\
}\hlstd{}\hlsym{\
}}\\
206 \hlline{51\
}\hlstd{}\\
207 \hlline{52\
}\hlcom{/
{*
}\ utiliza\ la\ ecuacion:\ a
\textasciicircum 2{*
}x\ +a
{*
}b+b\ $
\backslash$equiv\ y
}\\
208 \hlline{53\
}\hlcom{\
{*
}\ para\ despejar\ b,\ si\ no\ es\ posible,\ es\ porque\ el\ a\ no\ era\ correcto
}\\
209 \hlline{54\
}\hlcom{\
{*
}\ b
{*
}(a+
1)\ $
\backslash$equiv\ y\
{-
}a
\textasciicircum 2}\\
210 \hlline{55\
}\hlcom{\
{*
}/
}\hlstd{}\\
211 \hlline{56\
}\hlkwb{bool\
}\hlstd{}\hlkwd{obtener
\textunderscore b
}\hlstd{}\hlsym{(
}\hlstd{}\hlkwb{int\
}\hlstd{a
}\hlsym{,\
}\hlstd{}\hlkwb{int\
}\hlstd{x
}\hlsym{,\
}\hlstd{}\hlkwb{int\
}\hlstd{y
}\hlsym{,
}\hlstd{}\hlkwb{int
}\hlstd{}\hlsym{\&\
}\hlstd{b
}\hlsym{)\ \
{}\\
212 \hlline{57\
}\hlstd{}\hlstd{\ \ \ \
}\hlstd{}\hlkwa{if\
}\hlstd{}\hlsym{((
}\hlstd{a
}\hlsym{+
}\hlstd{}\hlnum{1}\hlstd{}\hlsym{)\ \%\
}\hlstd{}\hlnum{73\
}\hlstd{}\hlsym{==\
}\hlstd{}\hlnum{0}\hlstd{}\hlsym{)\ \
{}\\
213 \hlline{58\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \
}\hlstd{}\hlslc{//\ para\ poder\ encontrar\ un\ b,\ la\ parte\ derecha\ tb\ tiene\ que\ ser\ congruente\ a\
0\ modulo\
73}\\
214 \hlline{59\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \
}\hlstd{}\hlkwa{if\
}\hlstd{}\hlsym{(
}\hlstd{y
}\hlsym{{-
}}\hlstd{}\hlkwd{resto
}\hlstd{}\hlsym{(
}\hlstd{a
}\hlsym{{*
}}\hlstd{a
}\hlsym{,
}\hlstd{}\hlnum{73}\hlstd{}\hlsym{)
{*
}}\hlstd{x\
}\hlsym{\%
}\hlstd{}\hlnum{73\
}\hlstd{}\hlsym{!=\
}\hlstd{}\hlnum{0}\hlstd{}\hlsym{)
}\hlstd{}\hlkwa{return\ false
}\hlstd{}\hlsym{;
}\\
215 \hlline{60\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \
}\hlstd{}\hlkwb{int\
}\hlstd{amas1inv
}\hlsym{,\
}\hlstd{aux
}\hlsym{;
}\\
216 \hlline{61\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \
}\hlstd{}\hlkwd{combinacion
}\hlstd{}\hlsym{((
}\hlstd{a
}\hlsym{+
}\hlstd{}\hlnum{1}\hlstd{}\hlsym{),
}\hlstd{}\hlnum{137}\hlstd{}\hlsym{,
}\hlstd{amas1inv
}\hlsym{);
}\\
217 \hlline{62\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \
}\hlstd{amas1inv\
}\hlsym{=\
}\hlstd{}\hlkwd{resto
}\hlstd{}\hlsym{(
}\hlstd{amas1inv
}\hlsym{,
}\hlstd{}\hlnum{137}\hlstd{}\hlsym{);
}\\
218 \hlline{63\
}\hlstd{\\
219 \hlline{64\
}}\hlstd{\ \ \ \ \ \ \ \
}\hlstd{}\hlkwb{int\
}\hlstd{acuad\
}\hlsym{=\
}\hlstd{a
}\hlsym{{*
}}\hlstd{a\
}\hlsym{\%
}\hlstd{}\hlnum{137}\hlstd{}\hlsym{;
}\\
220 \hlline{65\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \
}\hlstd{aux\
}\hlsym{=\
}\hlstd{}\hlkwd{resto
}\hlstd{}\hlsym{((
}\hlstd{y\
}\hlsym{{-
}\
}\hlstd{acuad
}\hlsym{{*
}}\hlstd{x
}\hlsym{),
}\hlstd{}\hlnum{137}\hlstd{}\hlsym{);
}\\
221 \hlline{66\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \
}\hlstd{b\
}\hlsym{=\
}\hlstd{aux
}\hlsym{{*
}}\hlstd{amas1inv
}\hlsym{\%
}\hlstd{}\hlnum{137}\hlstd{}\hlsym{;
}\\
222 \hlline{67\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \
}\hlstd{}\hlkwa{return\ true
}\hlstd{}\hlsym{;
}\\
223 \hlline{68\
}\hlstd{}\hlstd{\ \ \ \
}\hlstd{}\hlsym{\
}}\\
224 \hlline{69\
}\hlstd{\\
225 \hlline{70\
}}\hlstd{\ \ \ \
}\hlstd{}\hlkwa{if\
}\hlstd{}\hlsym{((
}\hlstd{a
}\hlsym{+
}\hlstd{}\hlnum{1}\hlstd{}\hlsym{)\%
}\hlstd{}\hlnum{137\
}\hlstd{}\hlsym{==\
}\hlstd{}\hlnum{0}\hlstd{}\hlsym{)\ \
{}\\
226 \hlline{71\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \
}\hlstd{}\hlslc{//\ para\ poder\ encontrar\ un\ b,\ la\ parte\ derecha\ tb\ tiene\ que\ ser\ congruente\ a\
0\ modulo\
137}\\
227 \hlline{72\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \
}\hlstd{}\hlkwa{if\
}\hlstd{}\hlsym{(
}\hlstd{y
}\hlsym{{-
}}\hlstd{}\hlkwd{resto
}\hlstd{}\hlsym{(
}\hlstd{a
}\hlsym{{*
}}\hlstd{a
}\hlsym{,
}\hlstd{}\hlnum{137}\hlstd{}\hlsym{)
{*
}}\hlstd{x\
}\hlsym{\%
}\hlstd{}\hlnum{137\
}\hlstd{}\hlsym{!=\
}\hlstd{}\hlnum{0}\hlstd{}\hlsym{)
}\hlstd{}\hlkwa{return\ false
}\hlstd{}\hlsym{;
}\\
228 \hlline{73\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \
}\hlstd{}\hlkwb{int\
}\hlstd{amas1inv
}\hlsym{,\
}\hlstd{aux
}\hlsym{;
}\\
229 \hlline{74\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \
}\hlstd{}\hlkwd{combinacion
}\hlstd{}\hlsym{((
}\hlstd{a
}\hlsym{+
}\hlstd{}\hlnum{1}\hlstd{}\hlsym{),
}\hlstd{}\hlnum{73}\hlstd{}\hlsym{,
}\hlstd{amas1inv
}\hlsym{);
}\\
230 \hlline{75\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \
}\hlstd{amas1inv\
}\hlsym{=\
}\hlstd{}\hlkwd{resto
}\hlstd{}\hlsym{(
}\hlstd{amas1inv
}\hlsym{,
}\hlstd{}\hlnum{73}\hlstd{}\hlsym{);
}\\
231 \hlline{76\
}\hlstd{\\
232 \hlline{77\
}}\hlstd{\ \ \ \ \ \ \ \
}\hlstd{}\hlkwb{int\
}\hlstd{acuad\
}\hlsym{=\
}\hlstd{a
}\hlsym{{*
}}\hlstd{a\
}\hlsym{\%\
}\hlstd{}\hlnum{73}\hlstd{}\hlsym{;
}\\
233 \hlline{78\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \
}\hlstd{aux\
}\hlsym{=\
}\hlstd{}\hlkwd{resto
}\hlstd{}\hlsym{((
}\hlstd{y\
}\hlsym{{-
}\
}\hlstd{acuad
}\hlsym{{*
}}\hlstd{x
}\hlsym{),
}\hlstd{}\hlnum{73}\hlstd{}\hlsym{);
}\\
234 \hlline{79\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \
}\hlstd{b\
}\hlsym{=\
}\hlstd{aux
}\hlsym{{*
}}\hlstd{amas1inv\
}\hlsym{\%
}\hlstd{}\hlnum{73}\hlstd{}\hlsym{;
}\\
235 \hlline{80\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \
}\hlstd{}\hlkwa{return\ true
}\hlstd{}\hlsym{;
}\\
236 \hlline{81\
}\hlstd{}\hlstd{\ \ \ \
}\hlstd{}\hlsym{\
}}\\
237 \hlline{82\
}\hlstd{}\hlstd{\ \ \ \
}\hlstd{}\hlkwb{int\
}\hlstd{amas1inv137
}\hlsym{,\
}\hlstd{aux
}\hlsym{;
}\\
238 \hlline{83\
}\hlstd{\\
239 \hlline{84\
}}\hlstd{\ \ \ \
}\hlstd{}\hlkwd{combinacion
}\hlstd{}\hlsym{((
}\hlstd{a
}\hlsym{+
}\hlstd{}\hlnum{1}\hlstd{}\hlsym{),
}\hlstd{}\hlnum{137}\hlstd{}\hlsym{,
}\hlstd{amas1inv137
}\hlsym{);
}\\
240 \hlline{85\
}\hlstd{}\hlstd{\ \ \ \
}\hlstd{amas1inv137\
}\hlsym{=\
}\hlstd{}\hlkwd{resto
}\hlstd{}\hlsym{(
}\hlstd{amas1inv137
}\hlsym{,
}\hlstd{}\hlnum{137}\hlstd{}\hlsym{);
}\\
241 \hlline{86\
}\hlstd{}\hlstd{\ \ \ \
}\hlstd{}\hlkwb{int\
}\hlstd{acuad137\
}\hlsym{=\
}\hlstd{a
}\hlsym{{*
}}\hlstd{a\
}\hlsym{\%\
}\hlstd{}\hlnum{137}\hlstd{}\hlsym{;
}\\
242 \hlline{87\
}\hlstd{}\hlstd{\ \ \ \
}\hlstd{}\hlkwb{int\
}\hlstd{aux137\
}\hlsym{=\
}\hlstd{}\hlkwd{resto
}\hlstd{}\hlsym{((
}\hlstd{y\
}\hlsym{{-
}\
}\hlstd{acuad137
}\hlsym{{*
}}\hlstd{x
}\hlsym{),
}\hlstd{}\hlnum{137}\hlstd{}\hlsym{);
}\\
243 \hlline{88\
}\hlstd{}\hlstd{\ \ \ \
}\hlstd{}\hlkwb{int\
}\hlstd{b137
}\hlsym{=\
}\hlstd{aux137
}\hlsym{{*
}}\hlstd{amas1inv137\
}\hlsym{\%\
}\hlstd{}\hlnum{137}\hlstd{}\hlsym{;
}\\
244 \hlline{89\
}\hlstd{}\hlstd{\ \ \ \
}\hlstd{}\hlkwb{int\
}\hlstd{amas1inv73
}\hlsym{;
}\\
245 \hlline{90\
}\hlstd{}\hlstd{\ \ \ \
}\hlstd{}\hlkwd{combinacion
}\hlstd{}\hlsym{((
}\hlstd{a
}\hlsym{+
}\hlstd{}\hlnum{1}\hlstd{}\hlsym{),
}\hlstd{}\hlnum{73}\hlstd{}\hlsym{,
}\hlstd{amas1inv73
}\hlsym{);
}\\
246 \hlline{91\
}\hlstd{}\hlstd{\ \ \ \
}\hlstd{amas1inv73\
}\hlsym{=\
}\hlstd{}\hlkwd{resto
}\hlstd{}\hlsym{(
}\hlstd{amas1inv73
}\hlsym{,
}\hlstd{}\hlnum{73}\hlstd{}\hlsym{);
}\\
247 \hlline{92\
}\hlstd{}\hlstd{\ \ \ \
}\hlstd{}\hlkwb{int\
}\hlstd{acuad73\
}\hlsym{=\
}\hlstd{a
}\hlsym{{*
}}\hlstd{a\
}\hlsym{\%
}\hlstd{}\hlnum{73}\hlstd{}\hlsym{;
}\\
248 \hlline{93\
}\hlstd{}\hlstd{\ \ \ \
}\hlstd{}\hlkwb{int\
}\hlstd{aux73\
}\hlsym{=\
}\hlstd{}\hlkwd{resto
}\hlstd{}\hlsym{((
}\hlstd{y\
}\hlsym{{-
}\
}\hlstd{acuad73
}\hlsym{{*
}}\hlstd{x
}\hlsym{),
}\hlstd{}\hlnum{73}\hlstd{}\hlsym{);
}\\
249 \hlline{94\
}\hlstd{}\hlstd{\ \ \ \
}\hlstd{}\hlkwb{int\
}\hlstd{b73
}\hlsym{=\
}\hlstd{aux73
}\hlsym{{*
}}\hlstd{amas1inv73\
}\hlsym{\%
}\hlstd{}\hlnum{73}\hlstd{}\hlsym{;
}\\
250 \hlline{95\
}\hlstd{\\
251 \hlline{96\
}}\hlstd{\ \ \ \
}\hlstd{}\hlslc{//usamos\ teorema\ chino\ del\ resto,\ para\ encontrar\ b
}\\
252 \hlline{97\
}\hlstd{\\
253 \hlline{98\
}}\hlstd{\ \ \ \
}\hlstd{b\
}\hlsym{=\ ((
}\hlstd{b73
}\hlsym{{*
}}\hlstd{coef
\textunderscore 137}\hlsym{)+(
}\hlstd{b137
}\hlsym{{*
}}\hlstd{coef
\textunderscore 73}\hlsym{))\ \%\
}\hlstd{}\hlnum{10001}\hlstd{}\hlsym{;
}\\
254 \hlline{99\
}\hlstd{\\
255 \hlline{100\
}}\hlstd{\ \ \ \
}\hlstd{}\hlkwa{return\ true
}\hlstd{}\hlsym{;
}\\
256 \hlline{101\
}\hlstd{}\\
257 \hlline{102\
}\hlsym{\
}}\\
258 \hlline{103\
}\hlstd{}\\
259 \hlline{104\
}\hlkwb{static\ int\
}\hlstd{numeros
}\hlsym{{[}}\hlstd{}\hlnum{101}\hlstd{}\hlsym{{]};
}\\
260 \hlline{105\
}\hlstd{}\\
261 \hlline{106\
}\hlkwb{bool\
}\hlstd{}\hlkwd{testear
\textunderscore candidato
}\hlstd{}\hlsym{(
}\hlstd{}\hlkwb{int\
}\hlstd{a
}\hlsym{,\
}\hlstd{}\hlkwb{int\
}\hlstd{b
}\hlsym{,\
}\hlstd{}\hlkwb{int\
}\hlstd{cant
}\hlsym{,
}\hlstd{list
}\hlsym{$<$
}\hlstd{}\hlkwb{int
}\hlstd{}\hlsym{$>$\&\
}\hlstd{res
}\hlsym{)\ \
{}\\
262 \hlline{107\
}\hlstd{}\hlstd{\ \ \ \
}\hlstd{}\hlkwd{forn
}\hlstd{}\hlsym{(
}\hlstd{i
}\hlsym{,
}\hlstd{cant
}\hlsym{)\ \
{}\\
263 \hlline{108\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \
}\hlstd{}\hlkwb{int\
}\hlstd{f\
}\hlsym{=\ (
}\hlstd{a
}\hlsym{{*
}}\hlstd{numeros
}\hlsym{{[}}\hlstd{i
}\hlsym{{]}+
}\hlstd{b
}\hlsym{)\%\
}\hlstd{}\hlnum{10001}\hlstd{}\hlsym{;
}\\
264 \hlline{109\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \
}\hlstd{res
}\hlsym{.
}\hlstd{}\hlkwd{push
\textunderscore back
}\hlstd{}\hlsym{(
}\hlstd{f
}\hlsym{);
}\\
265 \hlline{110\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \
}\hlstd{}\hlkwa{if\
}\hlstd{}\hlsym{(
}\hlstd{numeros
}\hlsym{{[}}\hlstd{i
}\hlsym{+
}\hlstd{}\hlnum{1}\hlstd{}\hlsym{{]}\ $<$\
}\hlstd{cant\
}\hlsym{\&\&\ (
}\hlstd{a
}\hlsym{{*
}}\hlstd{f
}\hlsym{+
}\hlstd{b
}\hlsym{)\%\
}\hlstd{}\hlnum{10001\
}\hlstd{}\hlsym{!=\
}\hlstd{numeros
}\hlsym{{[}}\hlstd{i
}\hlsym{+
}\hlstd{}\hlnum{1}\hlstd{}\hlsym{{]})\ \
{}\\
266 \hlline{111\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{}\hlkwa{break
}\hlstd{}\hlsym{;
}\\
267 \hlline{112\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \
}\hlstd{}\hlsym{\
}}\\
268 \hlline{113\
}\hlstd{}\hlstd{\ \ \ \
}\hlstd{}\hlsym{\
}}\\
269 \hlline{114\
}\hlstd{}\hlstd{\ \ \ \
}\hlstd{}\hlkwa{return\
}\hlstd{res
}\hlsym{.
}\hlstd{}\hlkwd{size
}\hlstd{}\hlsym{()\ ==\
}\hlstd{cant
}\hlsym{;
}\\
270 \hlline{115\
}\hlstd{}\hlsym{\
}}\\
271 \hlline{116\
}\hlstd{}\\
272 \hlline{117\
}\hlkwb{void\
}\hlstd{}\hlkwd{llenar
\textunderscore res
}\hlstd{}\hlsym{(
}\hlstd{}\hlkwb{int\
}\hlstd{a
}\hlsym{,
}\hlstd{}\hlkwb{int\
}\hlstd{a1
}\hlsym{,
}\hlstd{}\hlkwb{int\
}\hlstd{x
}\hlsym{,\
}\hlstd{}\hlkwb{int\
}\hlstd{y
}\hlsym{,
}\hlstd{}\hlkwb{int\
}\hlstd{cant
}\hlsym{,
}\hlstd{list
}\hlsym{$<$
}\hlstd{}\hlkwb{int
}\hlstd{}\hlsym{$>$\&\
}\hlstd{res
}\hlsym{,
}\hlstd{}\hlkwb{int\
}\hlstd{q
}\hlsym{)\ \
{}\\
273 \hlline{118\
}\hlstd{}\hlstd{\ \ \ \
}\hlstd{}\hlkwb{int\
}\hlstd{b
}\hlsym{;
}\\
274 \hlline{119\
}\hlstd{}\hlstd{\ \ \ \
}\hlstd{}\hlkwb{int\
}\hlstd{candidatos
}\hlsym{{[}}\hlstd{}\hlnum{2}\hlstd{}\hlsym{{]}\ =\ \
{}\hlstd{a
}\hlsym{,
}\hlstd{a1
}\hlsym{\
};
}\\
275 \hlline{120\
}\hlstd{}\hlstd{\ \ \ \
}\hlstd{}\hlkwb{int\
}\hlstd{t\
}\hlsym{=\
}\hlstd{}\hlnum{0}\hlstd{}\hlsym{;
}\\
276 \hlline{121\
}\hlstd{}\hlstd{\ \ \ \
}\hlstd{}\hlkwa{while\
}\hlstd{}\hlsym{(
}\hlstd{}\hlkwa{true
}\hlstd{}\hlsym{)\ \
{}\\
277 \hlline{122\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \
}\hlstd{}\hlkwa{if\
}\hlstd{}\hlsym{(
}\hlstd{}\hlkwd{obtener
\textunderscore b
}\hlstd{}\hlsym{(
}\hlstd{candidatos
}\hlsym{{[}}\hlstd{t
}\hlsym{{]},
}\hlstd{x
}\hlsym{,
}\hlstd{y
}\hlsym{,
}\hlstd{b
}\hlsym{))\ \
{}\\
278 \hlline{123\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{}\hlkwa{if\
}\hlstd{}\hlsym{(
}\hlstd{}\hlkwd{testear
\textunderscore candidato
}\hlstd{}\hlsym{(
}\hlstd{candidatos
}\hlsym{{[}}\hlstd{t
}\hlsym{{]},
}\hlstd{b
}\hlsym{,
}\hlstd{cant
}\hlsym{,
}\hlstd{res
}\hlsym{))
}\hlstd{}\hlkwa{break
}\hlstd{}\hlsym{;
}\\
279 \hlline{124\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \
}\hlstd{}\hlsym{\
}}\\
280 \hlline{125\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \
}\hlstd{res
}\hlsym{.
}\hlstd{}\hlkwd{clear
}\hlstd{}\hlsym{();
}\\
281 \hlline{126\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \
}\hlstd{t
}\hlsym{++;
}\\
282 \hlline{127\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \
}\hlstd{}\hlkwa{if\
}\hlstd{}\hlsym{(
}\hlstd{t
}\hlsym{$>$
}\hlstd{}\hlnum{1}\hlstd{}\hlsym{)\ \
{}\\
283 \hlline{128\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{candidatos
}\hlsym{{[}}\hlstd{}\hlnum{0}\hlstd{}\hlsym{{]}=
}\hlstd{candidatos
}\hlsym{{[}}\hlstd{}\hlnum{0}\hlstd{}\hlsym{{]}+
}\hlstd{q
}\hlsym{;
}\\
284 \hlline{129\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{candidatos
}\hlsym{{[}}\hlstd{}\hlnum{1}\hlstd{}\hlsym{{]}=
}\hlstd{candidatos
}\hlsym{{[}}\hlstd{}\hlnum{1}\hlstd{}\hlsym{{]}+
}\hlstd{q
}\hlsym{;
}\\
285 \hlline{130\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{t
}\hlsym{=
}\hlstd{}\hlnum{0}\hlstd{}\hlsym{;
}\\
286 \hlline{131\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \
}\hlstd{}\hlsym{\
}}\\
287 \hlline{132\
}\hlstd{}\hlstd{\ \ \ \
}\hlstd{}\hlsym{\
}}\\
288 \hlline{133\
}\hlstd{}\hlsym{\
}}\\
289 \hlline{134\
}\hlstd{}\\
290 \hlline{135\
}\hlkwb{void\
}\hlstd{}\hlkwd{resolver
}\hlstd{}\hlsym{(
}\hlstd{}\hlkwb{const\ int\
}\hlstd{cuadk
}\hlsym{{[}{]},
}\hlstd{}\hlkwb{int\
}\hlstd{k
}\hlsym{,
}\hlstd{}\hlkwb{int\
}\hlstd{x
}\hlsym{,
}\hlstd{}\hlkwb{int\
}\hlstd{y
}\hlsym{,
}\hlstd{}\hlkwb{int\
}\hlstd{qk
}\hlsym{,\
}\hlstd{}\hlkwb{int\
}\hlstd{wk
}\hlsym{,
}\hlstd{}\hlkwb{int\
}\hlstd{cant
}\hlsym{)\ \
{}\\
291 \hlline{136\
}\hlstd{}\hlstd{\ \ \ \
}\hlstd{}\hlkwb{int\
}\hlstd{qkinv
}\hlsym{;
}\\
292 \hlline{137\
}\hlstd{\\
293 \hlline{138\
}}\hlstd{\ \ \ \
}\hlstd{}\hlkwd{combinacion
}\hlstd{}\hlsym{(
}\hlstd{qk
}\hlsym{,
}\hlstd{k
}\hlsym{,
}\hlstd{qkinv
}\hlsym{);
}\\
294 \hlline{139\
}\hlstd{}\hlstd{\ \ \ \
}\hlstd{qkinv\
}\hlsym{=\
}\hlstd{}\hlkwd{resto
}\hlstd{}\hlsym{(
}\hlstd{qkinv
}\hlsym{,
}\hlstd{k
}\hlsym{);
}\\
295 \hlline{140\
}\hlstd{}\hlstd{\ \ \ \
}\hlstd{}\hlkwb{int\
}\hlstd{acuad\
}\hlsym{=\ (
}\hlstd{wk
}\hlsym{{*
}}\hlstd{qkinv
}\hlsym{)\%
}\hlstd{k
}\hlsym{;
}\\
296 \hlline{141\
}\hlstd{}\hlstd{\ \ \ \
}\hlstd{}\hlkwb{int\
}\hlstd{a
}\hlsym{,
}\hlstd{a1
}\hlsym{;
}\\
297 \hlline{142\
}\hlstd{}\hlstd{\ \ \ \
}\hlstd{a\
}\hlsym{=\
}\hlstd{cuadk
}\hlsym{{[}}\hlstd{acuad
}\hlsym{{]};
}\\
298 \hlline{143\
}\hlstd{}\hlstd{\ \ \ \
}\hlstd{a1
}\hlsym{=\
}\hlstd{k\
}\hlsym{{-
}}\hlstd{cuadk
}\hlsym{{[}}\hlstd{acuad
}\hlsym{{]};
}\\
299 \hlline{144\
}\hlstd{}\hlstd{\ \ \ \
}\hlstd{list
}\hlsym{$<$
}\hlstd{}\hlkwb{int
}\hlstd{}\hlsym{$>$\
}\hlstd{res
}\hlsym{;
}\\
300 \hlline{145\
}\hlstd{}\hlstd{\ \ \ \
}\hlstd{}\hlkwd{llenar
\textunderscore res
}\hlstd{}\hlsym{(
}\hlstd{a
}\hlsym{,
}\hlstd{a1
}\hlsym{,
}\hlstd{x
}\hlsym{,
}\hlstd{y
}\hlsym{,
}\hlstd{cant
}\hlsym{,
}\hlstd{res
}\hlsym{,
}\hlstd{k
}\hlsym{);
}\\
301 \hlline{146\
}\hlstd{}\hlstd{\ \ \ \
}\hlstd{}\hlkwd{foreachin
}\hlstd{}\hlsym{(
}\hlstd{it
}\hlsym{,
}\hlstd{res
}\hlsym{)\ \
{}\\
302 \hlline{147\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \
}\hlstd{}\hlkwd{printf
}\hlstd{}\hlsym{(
}\hlstd{}\hlstr{"\%d
}\hlesc{$
\backslash$n
}\hlstr{"
}\hlstd{}\hlsym{,
{*
}}\hlstd{it
}\hlsym{);
}\\
303 \hlline{148\
}\hlstd{}\hlstd{\ \ \ \
}\hlstd{}\hlsym{\
}}\\
304 \hlline{149\
}\hlstd{}\hlsym{\
}}\\
305 \hlline{150\
}\hlstd{}\\
307 \hlline{152\
}\hlkwb{int\
}\hlstd{}\hlkwd{main
}\hlstd{}\hlsym{(
}\hlstd{}\hlkwb{int\
}\hlstd{argc
}\hlsym{,\
}\hlstd{}\hlkwb{char
}\hlstd{}\hlsym{{*
}{*
}\
}\hlstd{argv
}\hlsym{)\ \
{}\\
308 \hlline{153\
}\hlstd{}\hlstd{\ \ \ \
}\hlstd{}\hlslc{//\ cuad73
{[}k
{]}\ =\ a\ /\ a
\textasciicircum 2\ \%\
73\ ==\ k
}\\
309 \hlline{154\
}\hlstd{}\hlstd{\ \ \ \
}\hlstd{}\hlslc{//\ notar\ que\ alcanza\ mirar\ hasta\
37\ (
73/
2+
1)
}\\
310 \hlline{155\
}\hlstd{}\hlstd{\ \ \ \
}\hlstd{}\hlslc{//\ porque\ j
\textasciicircum 2\ \%\
73\ ==\ (
73\
{-
}\ j)
\textasciicircum 2}\\
311 \hlline{156\
}\hlstd{}\hlstd{\ \ \ \
}\hlstd{}\hlslc{//\ ademas\ no\ hay\ a1,a2\ entre\
{[}0,
73/
2+
1)\ tal\ que\ a1
\textasciicircum 2\ \%\
73\ ==\ a2
\textasciicircum 2\ \%\
73}\\
312 \hlline{157\
}\hlstd{}\hlstd{\ \ \ \
}\hlstd{}\hlkwd{forn
}\hlstd{}\hlsym{(
}\hlstd{each
}\hlsym{,
}\hlstd{}\hlnum{37}\hlstd{}\hlsym{)\ \
{}\\
313 \hlline{158\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \
}\hlstd{cuad73
}\hlsym{{[}(
}\hlstd{each
}\hlsym{{*
}}\hlstd{each
}\hlsym{)\%
}\hlstd{}\hlnum{73}\hlstd{}\hlsym{{]}\ =\
}\hlstd{each
}\hlsym{;
}\\
314 \hlline{159\
}\hlstd{\\
315 \hlline{160\
}}\hlstd{\ \ \ \
}\hlstd{}\hlsym{\
}}\\
316 \hlline{161\
}\hlstd{}\hlstd{\ \ \ \
}\hlstd{}\hlslc{//\ simil\ a\ lo\ anterior
}\\
317 \hlline{162\
}\hlstd{}\hlstd{\ \ \ \
}\hlstd{}\hlkwd{forn
}\hlstd{}\hlsym{(
}\hlstd{each
}\hlsym{,
}\hlstd{}\hlnum{68}\hlstd{}\hlsym{)\ \
{}\\
318 \hlline{163\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \
}\hlstd{cuad137
}\hlsym{{[}(
}\hlstd{each
}\hlsym{{*
}}\hlstd{each
}\hlsym{)\%
}\hlstd{}\hlnum{137}\hlstd{}\hlsym{{]}=
}\hlstd{each
}\hlsym{;
}\\
319 \hlline{164\
}\hlstd{}\hlstd{\ \ \ \
}\hlstd{}\hlsym{\
}}\\
320 \hlline{165\
}\hlstd{}\hlstd{\ \ \ \
}\hlstd{}\hlkwb{int\
}\hlstd{cant
}\hlsym{;
}\\
321 \hlline{166\
}\hlstd{}\hlstd{\ \ \ \
}\hlstd{}\hlkwd{scanf
}\hlstd{}\hlsym{(
}\hlstd{}\hlstr{"\%d"
}\hlstd{}\hlsym{,\&
}\hlstd{cant
}\hlsym{);
}\\
322 \hlline{167\
}\hlstd{}\hlstd{\ \ \ \
}\hlstd{}\hlkwa{while\
}\hlstd{}\hlsym{(
}\hlstd{cant\
}\hlsym{$>$\
}\hlstd{}\hlnum{0}\hlstd{}\hlsym{)\ \
{}\\
323 \hlline{168\
}\hlstd{\\
324 \hlline{169\
}}\hlstd{\ \ \ \ \ \ \ \
}\hlstd{}\hlkwd{forn
}\hlstd{}\hlsym{(
}\hlstd{i
}\hlsym{,
}\hlstd{cant
}\hlsym{)\ \
{}\\
325 \hlline{170\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{}\hlkwd{scanf
}\hlstd{}\hlsym{(
}\hlstd{}\hlstr{"\%d"
}\hlstd{}\hlsym{,\&
}\hlstd{numeros
}\hlsym{{[}}\hlstd{i
}\hlsym{{]});
}\\
326 \hlline{171\
}\hlstd{\\
327 \hlline{172\
}}\hlstd{\ \ \ \ \ \ \ \
}\hlstd{}\hlsym{\
}}\\
328 \hlline{173\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \
}\hlstd{}\hlkwa{if\
}\hlstd{}\hlsym{(
}\hlstd{cant\
}\hlsym{$<$\
}\hlstd{}\hlnum{3}\hlstd{}\hlsym{)\ \
{}\\
329 \hlline{174\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{}\hlkwd{forn
}\hlstd{}\hlsym{(
}\hlstd{i
}\hlsym{,\
}\hlstd{cant
}\hlsym{)\ \
{}\\
330 \hlline{175\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{}\hlkwd{printf
}\hlstd{}\hlsym{(
}\hlstd{}\hlstr{"\%d
}\hlesc{$
\backslash$n
}\hlstr{"
}\hlstd{}\hlsym{,
}\hlstd{numeros
}\hlsym{{[}}\hlstd{cant
}\hlsym{{-
}}\hlstd{}\hlnum{1}\hlstd{}\hlsym{{]});
}\\
331 \hlline{176\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{}\hlsym{\
}}\\
332 \hlline{177\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \
}\hlstd{}\hlsym{\
}}\\
333 \hlline{178\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \
}\hlstd{}\hlkwa{else\
}\hlstd{}\hlsym{\
{}\\
334 \hlline{179\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{}\hlkwb{int\
}\hlstd{x
}\hlsym{,
}\hlstd{y
}\hlsym{,
}\hlstd{z
}\hlsym{;
}\\
335 \hlline{180\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{x
}\hlsym{=
}\hlstd{numeros
}\hlsym{{[}}\hlstd{}\hlnum{0}\hlstd{}\hlsym{{]};
}\\
336 \hlline{181\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{y
}\hlsym{=
}\hlstd{numeros
}\hlsym{{[}}\hlstd{}\hlnum{1}\hlstd{}\hlsym{{]};
}\\
337 \hlline{182\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{z
}\hlsym{=
}\hlstd{numeros
}\hlsym{{[}}\hlstd{}\hlnum{2}\hlstd{}\hlsym{{]};
}\\
338 \hlline{183\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{}\hlkwb{int\
}\hlstd{q
}\hlsym{,
}\hlstd{w
}\hlsym{;
}\\
339 \hlline{184\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{}\hlcom{/
{*
}\ Idea:
}\\
340 \hlline{185\
}\hlcom{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \
}\hlcom{a
{*
}x\ +\ b\ $
\backslash$equiv\
0\textunderscore 1}\\
341 \hlline{186\
}\hlcom{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \
}\hlcom{a
{*
}O
\textunderscore 1\ +\ b\ $
\backslash$equiv\ y
}\\
342 \hlline{187\
}\hlcom{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \
}\hlcom{a
{*
}y\ +\ b\ $
\backslash$equiv\ O
\textunderscore 2}\\
343 \hlline{188\
}\hlcom{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \
}\hlcom{a
{*
}O
\textunderscore 2\ +b\ $
\backslash$equiv\ z
}\\
344 \hlline{189\
}\hlcom{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \
}\hlcom{{-
}{-
}{-
}{-
}{-
}{-
}{-
}{-
}{-
}{-
}{-
}{-
}{-
}{-
}{-
}{-
}{-
}}\\
345 \hlline{190\
}\hlcom{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \
}\hlcom{a
\textasciicircum 2{*
}x+ab+b\ $
\backslash$equiv\ y
}\\
346 \hlline{191\
}\hlcom{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \
}\hlcom{a
\textasciicircum 2{*
}y+ab+b\ $
\backslash$equiv\ z
}\\
347 \hlline{192\
}\hlcom{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \
}\hlcom{{-
}{-
}{-
}{-
}{-
}{-
}{-
}{-
}{-
}{-
}{-
}{-
}{-
}{-
}{-
}{-
}{-
}{-
}{-
}{-
}}\\
348 \hlline{193\
}\hlcom{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \
}\hlcom{a
\textasciicircum 2(x
{-
}y)\ $
\backslash$equiv\ (y
{-
}z)
}\\
349 \hlline{194\
}\hlcom{}\\
350 \hlline{195\
}\hlcom{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \
}\hlcom{Resolver\ esa\ ecuacion\ modulo\
137\ y\
73\ y\ obtener\ candidatos\ para\ a.
}\\
351 \hlline{196\
}\hlcom{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \
}\hlcom{obtener\ un\ b\ para\ alguno\ de\ los\ candidatos.\ usar\ esa\ pareja\ (a,b)
}\\
352 \hlline{197\
}\hlcom{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \
}\hlcom{{*
}/
}\hlstd{\\
353 \hlline{198\
}}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{q\
}\hlsym{=\ (
}\hlstd{x
}\hlsym{{-
}}\hlstd{y
}\hlsym{);
}\\
354 \hlline{199\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{w\
}\hlsym{=\ (
}\hlstd{y
}\hlsym{{-
}}\hlstd{z
}\hlsym{);
}\\
355 \hlline{200\
}\hlstd{\\
356 \hlline{201\
}}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{}\hlkwb{int\
}\hlstd{q137\
}\hlsym{=\
}\hlstd{}\hlkwd{resto
}\hlstd{}\hlsym{(
}\hlstd{q
}\hlsym{,
}\hlstd{}\hlnum{137}\hlstd{}\hlsym{);
}\\
357 \hlline{202\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{}\hlkwb{int\
}\hlstd{q73\
}\hlsym{=\
}\hlstd{}\hlkwd{resto
}\hlstd{}\hlsym{(
}\hlstd{q
}\hlsym{,
}\hlstd{}\hlnum{73}\hlstd{}\hlsym{);
}\\
358 \hlline{203\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{}\hlkwb{int\
}\hlstd{w137\
}\hlsym{=\
}\hlstd{}\hlkwd{resto
}\hlstd{}\hlsym{(
}\hlstd{w
}\hlsym{,
}\hlstd{}\hlnum{137}\hlstd{}\hlsym{);
}\\
359 \hlline{204\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{}\hlkwb{int\
}\hlstd{w73\
}\hlsym{=\
}\hlstd{}\hlkwd{resto
}\hlstd{}\hlsym{(
}\hlstd{w
}\hlsym{,
}\hlstd{}\hlnum{73}\hlstd{}\hlsym{);
}\\
360 \hlline{205\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{}\hlkwa{if\
}\hlstd{}\hlsym{(
}\hlstd{q137\
}\hlsym{==\
}\hlstd{}\hlnum{0}\hlstd{}\hlsym{)\ \
{}\\
361 \hlline{206\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{}\hlkwa{if\
}\hlstd{}\hlsym{(
}\hlstd{q73\
}\hlsym{==\
}\hlstd{}\hlnum{0}\hlstd{}\hlsym{)\ \
{}\\
362 \hlline{207\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{}\hlkwd{forn
}\hlstd{}\hlsym{(
}\hlstd{i
}\hlsym{,
}\hlstd{cant
}\hlsym{)\ \
{}\\
363 \hlline{208\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{}\hlkwd{printf
}\hlstd{}\hlsym{(
}\hlstd{}\hlstr{"\%d
}\hlesc{$
\backslash$n
}\hlstr{"
}\hlstd{}\hlsym{,
}\hlstd{numeros
}\hlsym{{[}}\hlstd{cant
}\hlsym{{-
}}\hlstd{}\hlnum{1}\hlstd{}\hlsym{{]});
}\\
364 \hlline{209\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{}\hlsym{\
}}\\
365 \hlline{210\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{}\hlsym{\
}}\\
366 \hlline{211\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{}\hlkwa{else\
}\hlstd{}\hlsym{\
{}\\
367 \hlline{212\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{}\hlkwd{resolver
}\hlstd{}\hlsym{(
}\hlstd{cuad73
}\hlsym{,
}\hlstd{}\hlnum{73}\hlstd{}\hlsym{,
}\hlstd{x
}\hlsym{,
}\hlstd{y
}\hlsym{,
}\hlstd{q73
}\hlsym{,
}\hlstd{w73
}\hlsym{,
}\hlstd{cant
}\hlsym{);
}\\
368 \hlline{213\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{}\hlsym{\
}}\\
369 \hlline{214\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{}\hlsym{\
}}\\
370 \hlline{215\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{}\hlkwa{else\
}\hlstd{}\hlsym{\
{}\\
371 \hlline{216\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{}\hlkwa{if\
}\hlstd{}\hlsym{(
}\hlstd{q73\
}\hlsym{==\
}\hlstd{}\hlnum{0}\hlstd{}\hlsym{)\ \
{}\\
372 \hlline{217\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{}\hlkwd{resolver
}\hlstd{}\hlsym{(
}\hlstd{cuad137
}\hlsym{,
}\hlstd{}\hlnum{137}\hlstd{}\hlsym{,
}\hlstd{x
}\hlsym{,
}\hlstd{y
}\hlsym{,
}\hlstd{q137
}\hlsym{,
}\hlstd{w137
}\hlsym{,
}\hlstd{cant
}\hlsym{);
}\\
373 \hlline{218\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{}\hlsym{\
}}\\
374 \hlline{219\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{}\hlkwa{else\
}\hlstd{}\hlsym{\
{}\\
375 \hlline{220\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{}\hlkwb{int\
}\hlstd{q137inv
}\hlsym{,
}\hlstd{q73inv
}\hlsym{;
}\\
376 \hlline{221\
}\hlstd{\\
377 \hlline{222\
}}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{}\hlkwd{combinacion
}\hlstd{}\hlsym{(
}\hlstd{q137
}\hlsym{,
}\hlstd{}\hlnum{137}\hlstd{}\hlsym{,
}\hlstd{q137inv
}\hlsym{);
}\\
378 \hlline{223\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{q137inv\
}\hlsym{=\
}\hlstd{}\hlkwd{resto
}\hlstd{}\hlsym{(
}\hlstd{q137inv
}\hlsym{,
}\hlstd{}\hlnum{137}\hlstd{}\hlsym{);
}\\
379 \hlline{224\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{}\hlkwb{int\
}\hlstd{acuad137\
}\hlsym{=\ (
}\hlstd{w137
}\hlsym{{*
}}\hlstd{q137inv
}\hlsym{)\%
}\hlstd{}\hlnum{137}\hlstd{}\hlsym{;
}\\
380 \hlline{225\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{}\hlkwd{combinacion
}\hlstd{}\hlsym{(
}\hlstd{q73
}\hlsym{,
}\hlstd{}\hlnum{73}\hlstd{}\hlsym{,
}\hlstd{q73inv
}\hlsym{);
}\\
381 \hlline{226\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{q73inv\
}\hlsym{=\
}\hlstd{}\hlkwd{resto
}\hlstd{}\hlsym{(
}\hlstd{q73inv
}\hlsym{,
}\hlstd{}\hlnum{73}\hlstd{}\hlsym{);
}\\
382 \hlline{227\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{}\hlkwb{int\
}\hlstd{acuad73\
}\hlsym{=\ (
}\hlstd{w73
}\hlsym{{*
}}\hlstd{q73inv
}\hlsym{)\%
}\hlstd{}\hlnum{73}\hlstd{}\hlsym{;
}\\
383 \hlline{228\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{}\hlkwb{int\
}\hlstd{a
}\hlsym{,
}\hlstd{b
}\hlsym{;
}\\
384 \hlline{229\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{}\hlkwb{int\
}\hlstd{j\
}\hlsym{=\
}\hlstd{cuad73
}\hlsym{{[}}\hlstd{acuad73
}\hlsym{{]};
}\\
385 \hlline{230\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{}\hlkwb{int\
}\hlstd{k\
}\hlsym{=\
}\hlstd{cuad137
}\hlsym{{[}}\hlstd{acuad137
}\hlsym{{]};
}\\
386 \hlline{231\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{list
}\hlsym{$<$
}\hlstd{}\hlkwb{int
}\hlstd{}\hlsym{$>$\
}\hlstd{res
}\hlsym{;
}\\
387 \hlline{232\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{}\hlkwb{int\
}\hlstd{candidatos
}\hlsym{{[}}\hlstd{}\hlnum{4}\hlstd{}\hlsym{{]}\ =\ \
{\
}\hlstd{}\hlkwd{resto
}\hlstd{}\hlsym{(
}\hlstd{j
}\hlsym{{*
}}\hlstd{coef
\textunderscore 137\
}\hlsym{+\
}\hlstd{k
}\hlsym{{*
}\
}\hlstd{coef
\textunderscore 73}\hlsym{,
}\hlstd{}\hlnum{10001}\hlstd{}\hlsym{),\
}\hlstd{}\hlkwd{resto
}\hlstd{}\hlsym{((
}\hlstd{}\hlnum{73}\hlstd{}\hlsym{{-
}}\hlstd{j
}\hlsym{)
}\Righttorque\\
388 \hlline{233\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{}\hlsym{{*
}}\hlstd{coef
\textunderscore 137\
}\hlsym{+\
}\hlstd{k
}\hlsym{{*
}\
}\hlstd{coef
\textunderscore 73}\hlsym{,
}\hlstd{}\hlnum{10001}\hlstd{}\hlsym{),
}\\
389 \hlline{234\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{}\hlkwd{resto
}\hlstd{}\hlsym{((
}\hlstd{}\hlnum{73}\hlstd{}\hlsym{{-
}}\hlstd{j
}\hlsym{)
{*
}}\hlstd{coef
\textunderscore 137\
}\hlsym{+\ (
}\hlstd{}\hlnum{137}\hlstd{}\hlsym{{-
}}\hlstd{k
}\hlsym{)
{*
}\
}\hlstd{coef
\textunderscore 73}\hlsym{,
}\hlstd{}\hlnum{10001}\hlstd{}\hlsym{),\
}\hlstd{}\hlkwd{resto
}\hlstd{}\hlsym{(
}\Righttorque\\
390 \hlline{235\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{j
}\hlsym{{*
}}\hlstd{coef
\textunderscore 137\
}\hlsym{+\ (
}\hlstd{}\hlnum{137}\hlstd{}\hlsym{{-
}}\hlstd{k
}\hlsym{)
{*
}\
}\hlstd{coef
\textunderscore 73}\hlsym{,
}\hlstd{}\hlnum{10001}\hlstd{}\hlsym{)
}\\
391 \hlline{236\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{}\hlsym{\
};
}\\
392 \hlline{237\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{}\hlkwd{forn
}\hlstd{}\hlsym{(
}\hlstd{i
}\hlsym{,\
}\hlstd{}\hlnum{4}\hlstd{}\hlsym{)\ \
{}\\
393 \hlline{238\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{a\
}\hlsym{=
}\hlstd{candidatos
}\hlsym{{[}}\hlstd{i
}\hlsym{{]}\ ;
}\\
394 \hlline{239\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{}\hlkwa{if\
}\hlstd{}\hlsym{(
}\hlstd{}\hlkwd{obtener
\textunderscore b
}\hlstd{}\hlsym{(
}\hlstd{a
}\hlsym{,
}\hlstd{x
}\hlsym{,
}\hlstd{y
}\hlsym{,
}\hlstd{b
}\hlsym{))\ \
{}\\
395 \hlline{240\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{}\hlkwa{if\
}\hlstd{}\hlsym{(
}\hlstd{}\hlkwd{testear
\textunderscore candidato
}\hlstd{}\hlsym{(
}\hlstd{a
}\hlsym{,
}\hlstd{b
}\hlsym{,
}\hlstd{cant
}\hlsym{,
}\hlstd{res
}\hlsym{))\ \
{}\\
396 \hlline{241\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{}\hlkwa{break
}\hlstd{}\hlsym{;
}\\
397 \hlline{242\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{}\hlsym{\
}}\\
398 \hlline{243\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{}\hlsym{\
}}\\
399 \hlline{244\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{res
}\hlsym{.
}\hlstd{}\hlkwd{clear
}\hlstd{}\hlsym{();
}\\
400 \hlline{245\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{}\hlsym{\
}}\\
401 \hlline{246\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{}\hlkwd{foreachin
}\hlstd{}\hlsym{(
}\hlstd{it
}\hlsym{,
}\hlstd{res
}\hlsym{)\ \
{}\\
402 \hlline{247\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{}\hlkwd{printf
}\hlstd{}\hlsym{(
}\hlstd{}\hlstr{"\%d
}\hlesc{$
\backslash$n
}\hlstr{"
}\hlstd{}\hlsym{,
{*
}}\hlstd{it
}\hlsym{);
}\\
403 \hlline{248\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{}\hlsym{\
}}\\
404 \hlline{249\
}\hlstd{\\
405 \hlline{250\
}}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{}\hlsym{\
}}\\
406 \hlline{251\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \
}\hlstd{}\hlsym{\
}}\\
407 \hlline{252\
}\hlstd{\\
408 \hlline{253\
}}\hlstd{\ \ \ \ \ \ \ \
}\hlstd{}\hlsym{\
}}\\
409 \hlline{254\
}\hlstd{}\hlstd{\ \ \ \ \ \ \ \
}\hlstd{}\hlkwa{if\
}\hlstd{}\hlsym{(
}\hlstd{}\hlkwd{scanf
}\hlstd{}\hlsym{(
}\hlstd{}\hlstr{"\%d
}\hlesc{$
\backslash$n
}\hlstr{"
}\hlstd{}\hlsym{,\&
}\hlstd{cant
}\hlsym{)!=
}\hlstd{}\hlnum{1}\hlstd{}\hlsym{)
}\hlstd{}\hlkwa{break
}\hlstd{}\hlsym{;
}\\
410 \hlline{255\
}\hlstd{}\hlstd{\ \ \ \
}\hlstd{}\hlsym{\
}}\\
411 \hlline{256\
}\hlstd{}\hlstd{\ \ \ \
}\hlstd{}\hlkwa{return\
}\hlstd{}\hlsym{(
}\hlstd{EXIT
\textunderscore SUCCESS
}\hlsym{);
}\\
412 \hlline{257\
}\hlstd{}\hlsym{\
}}\\
413 \hlline{258\
}\hlstd{}\\